/** @file
@brief Pryn Editor Library

This is the root header file of the Pryn Editor Library, which is linked to as prynEditor.dll on Windows and prynEditor.so on Posix. The editor allows manipulating Pryn components, as well as providing configuration for Pryn as a whole.

Manipulating Pryn components (or creating configurations from scratch) operates through a #PrynEditorBoard. In C you create this using prynEditorBoardCreate:

@code
PrynState *state = ...; // Pryn state, initialised properly.
PrynEditorBoard *board; // Will receive the editor board.

// For C:
prynEditorBoardCreate (&board, state, prynStringLiteral ("Pryn Graph Editor"));

// For C++:
board = PrynEditorBoard::Create (state, "Pryn Graph Editor");

// For most other object-oriented languages:
board = new PrynEditorBoard (state, "Pryn Graph Editor");
@endcode

There are also ways to insert the board into a control you've already created, such as if you want to embed Pryn into your own program.

To populate the board with your components, use this:

@code
PrynComponent *component; // The component to search for.
PrynEditorComponent *editorComponent; // Will receive the editor component.

// For C:
editorComponent = prynEditorComponent (board, component);

// For C++ and similar:
editorComponent = PrynEditorComponent::From (board, component);
@endcode

From that point on, you can let the editor run automatically. If you don't have a message loop of your own, then you can pass that duty off the prynGui:

@code
prynGuiMessageLoop (state);
@endcode

*/
#ifndef PRYN_EDITOR_H
#define PRYN_EDITOR_H

#include <pryn.h>
#include <pryn/editor/board.h>
#include <pryn/editor/component.h>
#include <pryn/editor/path.h>
#include <pryn/editor/pin.h>

#endif /* PRYN_EDITOR_H */
